package f_innerclass;

/**
 * 测试类，演示接口作为方法参数以及通过静态方法获取实现类对象的用法。
 * @author Cheng-02
 * @version V1.0
 * @Package f_innerclass
 * @date 2024/3/31 下午3:39
 */
public class Test01 {
    public static void main(String[] args) {
        // 创建Mouse对象并传递给method方法
        Mouse mouse = new Mouse();
        method(mouse);
        // 调用getUSB方法并执行打开操作
        getUSB().open();
    }

    /**
     * 通过参数接收一个USB接口类型的对象，并调用其open方法。
     * 该方法演示了Java多态性的使用，即可以通过接口类型来调用其实现类的方法。
     *
     * @param usb 一个实现了USB接口的对象。
     */
    public static void method(USB usb) {
        usb.open();
    }

    /**
     * 创建并返回一个Mouse对象的静态方法。
     * 该方法展示了如何通过静态方法内部创建并返回一个实现了特定接口的类的对象。
     *
     * @return 返回一个实现了USB接口的Mouse对象。
     */
    public static USB getUSB() {
        Mouse mouse = new Mouse();
        return mouse;
    }
}

